15 DekembrÐou 2009
DÐnetai grˆfoc (N, A) me ìria ro c x ij [b ij, c ij ] gia kˆje akm (i, j) kai dôo epilegmènouc kìmbouc s kai t. Jèloume na upologðsoume th ro sto grˆfo, ste na megistopoieðtai h apìklish tou kìmbou s (exerqìmenh ro ), me thn upìjesh ìti oi apoklðseic ìlwn twn kìmbwn, ektìc twn s kai t, eðnai mhdenikèc. Parathr seic To prìblhma mègisthc ro c mporeð na jewrhjeð prìblhma ro c elˆqistou kìstouc qwrðc kìsth akm n. Sqetikì me to prìblhma thc elˆqisthc ro c eðnai to je rhma mègisthc ro c - elˆqisthc tom c. BibliografÐa: D. Bertsekas, Network Optimization, Athena Scientific, Boston, 1998.
H basik idèa ston algìrijmo mègisthc ro c Mia dunat ro x mporeð na beltiwjeð efìson entopisjeð diadrom metaxô s kai t tètoia ste na mhn eðnai apofragmènh (blocked) apì th ro x. AntÐstrofa, an den upˆrqei tètoia diadrom, h ro eðnai mègisth. Tìso to je rhma mègisthc ro c - elˆqisthc tom c, ìso kai o algìrijmoc Ford-Fulkerson, sthrðzontai stic idèec autèc. Tom Q se grˆfo (N, A) eðnai ènac diamerismìc tou sunìlou twn kìmbwn N se duo mh kenˆ sônola S kai N S. Gia thn parˆstash miac tom c ja qrhsimopoioôme to sumbolismì Q = [S, N S] S
To sônolo Q + twn emprìsjiwn orj n (forward) akm n orðzetai wc Q + = {(i, j) A i S, j / S} kai to sônolo Q twn anˆstrofwn (backward) akm n orðzetai wc Q = {(i, j) A i / S, j S} Q + Q- Q + UQ - Parˆdeigma: 'Estw S = {1, 2, 7}. 'Ara N S = {3, 4, 5, 6} kai EpÐshc Q = {{1, 2, 7}, {3, 4, 5, 6}} Q + = {(1, 3), (7, 5), (7, 6)} Q = {(5, 1), (3, 2)}
Ro dierqomènh apì tom Dedomènou dianôsmatoc ro c x, h ro pou dièrqetai mèsa apì th mh ken tom Q = [S, N S] orðzetai wc h sunolik ro pou exèrqetai apì to to S, toi F (Q) = x ij (i,j) Q + (i,j) Q x ij ˆra L mma: H ro F (Q) pou dièrqetai apì tom Q eðnai Ðsh me to ˆjroisma twn apoklðsewn twn kìmbwn pou perikleðei, dhl. tou sunìlou S. F (Q) = F (Q) = i S {(i,j) A i S,j N S} {j (i,j) A,j N S} x ij x ij {(i,j) A i N S,j S} {j (j,i) A,j N S} Allˆ gia tic akmèc pou eðnai eswterikèc sto S i S {j (i,j) A,j S} x ij {j (j,i) A,j S} x ji = 0 x ji x ij (1)
ˆra h (1) isqôei gia ìla ta j kai telikˆ F (Q) = i S x ij {j (i,j) A} {j (j,i) A} x ji F (Q) = i S y ij Qwrhtikìthta tom c Dedomènou enìc ˆnw orðou c ij kai enìc kˆtw orðou b ij gia th ro x ij mèsa apì thn kˆje akm (i, j), h sunolik qwrhtikìthta thc mh ken c tom c Q eðnai C(Q) = c ij (i,j) Q + (i,j) Q b ij kai isqôei An F (Q) C(Q) F (Q) = C(Q) h tom Q lègetai koresmènh apì th ro x.
Prìtash: 'Estw diˆnusma ro c x pou threð periorismoôc qwrhtikìthtac. Akrib c èna ek twn epomènwn isqôei: 1. Upˆrqei apl diadrom apì ton s ston t, pou den eðnai apofragmènh apì th ro x. 2. Upˆrqei mia apofragmènh tom, pou diaqwrðzei ton s apì ton t. H apìdeixh gðnetai me qr sh enìc algorðjmou, pou termatðzei brðskontac eðte mia diadrom ìpwc sto 1, eðte mia tom ìpwc sto 2. O algìrijmoc eðnai eidik perðptwsh thc mejìdou breadth-first search. 1 O algìrijmoc brðskei mia akoloujða sunìlwn kìmbwn S k, pou eðnai prositoð ston s mèsw miac apl c diadrom c k bhmˆtwn, arqðzontac me S 0 = {s}. 1 http://en.wikipedia.org/wiki/breadth-first_search Algìrijmoc anaz thshc mh apofragmènhc diadrom c Ο επόμενος αλγόριθμος γεννάει μια ακολουθία συνόλων κόμβων {T k } που περιλαμβάνει κόμβους που είναι προσιτοί από τον s μέσω μιας μη αποφραγμένης διαδρομής k ακμών. Αρχίζει με T 0 = {s}. Αλγόριθμος: Για k = 0, 1, 2,... δεδομένου ενός T k να τερματίσεις αν συμβεί είτε το T k να είναι κενό είτε να είναι t T k αλλιώς να θέσεις T k+1 = {n / k i=0t i υπάρχει κόμβος m T k, και είτε μια ακμή(m, n) με x mn < c mn είτε μια ακμή(n, m) με b nm < x nm } και να σημειώσεις κάθε κόμβο n T k+1 με επιγραφή (m, n) ή (n, m), όπου m είναι ο κόμβος του n T k και (m, n) ή (n, m) είναι ακμή με την ιδιότητα που αναγράφεται ανωτέρω, αντίστοιχα.
Parˆdeigma: Pˆnw apì kˆje akm (i, j) eðnai shmeiwmènh h ro, kaj c kai ta ˆnw/kˆtw frˆgmatˆ thc me to sumbolismì (b ij, x ij, c ij ). H eikìna apodðdei thn katˆstash sto tèloc tou pr tou b matoc. To b ma autì, lambˆnontac upìyh tou ìti T 0 = {1}, entopðzei ìti me ton kìmbo 1 sundèontai oi kìmboi 2,3,5,7, ek twn opoðwn o 3 sundèetai me apofragmènh akm, diìti x 13 = 2 = c 13.
Epomènwc T 1 = {2, 5, 7}. DÐpla stouc kìmbouc autoôc èqoun shmeiwjeð oi antðstoiqec akmèc (1, 2), (5, 1), (1, 7). MporeÐte na parathr sete ìti gia ton kìmbo 5, pou sundèetai me antðstrofh akm, mh apìfraxh upˆrqei ìtan b 51 = 0 < x 51. 'Otan o algìrijmoc termatðsei (sto epìmeno b ma) ja d sei wc lôsh metaxô ˆllwn kai th diadrom 1,5,6 (katˆ m koc thc opoðac mporeð na gðnei aôxhsh thc ro c katˆ 3). Termatismìc Εφόσον σε κάθε βήμα εξετάζονται οι κόμβοι T k που δεν ανήκουν στην ένωση k 1 i=0 T i όλων των μέχρι τότε εξετασθέντων κόμβων, κάποτε είτε θα ενσωματωθεί στο σύνολο T i ο κόμβος t είτε οι κόμβοι θα εξαντληθούν και ο αλγόριθμος θα τερματίσει. Εστω S = λ i=0 T i, όπου λ το τελευταίο βήμα. Αν το τελικό σύνολο T λ περιέχει το t, πηγαίνοντας από το τέλος προς την αρχή σε ακμές μη αποφραγμένες μπορεί κανείς να βρει μια απλή διαδρομή s, t συνολικά μη αποφραγμένη. Αν το τελικό σύνολο T λ δεν περιέχει το t, δηλαδή είναι κενό, το σύνολο S = λ i=0 T i δεν περιέχει τον κόμβο t και η τομή Q = [S, N S] είναι κορεσμένη. Είναι εύκολο να δει κανείς ότι τότε δεν υπάρχει απλή διαδρομή s, t, γιατί κάθε τέτοια διαδρομή πρέπει να έχει είτε μια ακμή (m, n) Q + με x mn < c mn είτε μια ακμή (n, m) Q με x nm > b nm, που είναι αδύνατο γιατί η τομή Q είναι κορεσμένη.
Mègisth ro kai qwrhtikìthta miac tom c Q Sto prìblhma mègisthc ro c metaxô s kai t, lìgw kai tou l mmatoc pou lèei ìti h ro F (Q) pou dièrqetai apì tom Q eðnai Ðsh me to ˆjroisma twn apoklðsewn twn kìmbwn pou perikleðei, dhl. tou sunìlou S, h apìklish tou s eðnai Ðsh me th ro pou dièrqetai apì thn tom Q, pou me th seirˆ thc den mporeð na eðnai megalôterh apì thn antðstoiqh qwrhtikìthta. 'Ara h mègisth ro tom c Q. den uperbaðnei th qwrhtikìthta thc 1. An x eðnai mia bèltisth lôsh tou probl matoc mègisthc ro c, h apìklish pou exèrqetai tou s kai antistoiqeð sto x eðnai Ðsh me thn elˆqisth apì tic qwrhtikìthtec twn tom n pou qwrðzoun ton s apì ton t. 2. An ìla ta kˆtw frˆgmata ro c twn akm n eðnai mhdenikˆ (b ij = 0), to prìblhma mègisthc ro c èqei bèltisth lôsh kai h mègisth apìklish apì ton s eðnai Ðsh me thn elˆqisth apì tic qwrhtikìthtec twn tom n pou qwrðzoun ton s apì ton t.
Apìdeixh tou 1 : 'Estw F h tim thc mègisthc ro c, dhl. h apìklish pou bgaðnei apì ton s kai antistoiqeð sth ro x. Den mporeð na upˆrqei mh apofragmènh diadrom P apì ton s ston t wc proc th ro x, giatð auxˆnontac th ro stic orjèc akmèc thc P kai mei nontac antðstoiqa stic anˆstrofec katˆ to Ðdio jetikì posì, ja paðrname mia nèa ro me apìklish megalôterh apì thn F. Katˆ sunèpeia, kai lìgw thc prohgoômenhc prìtashc, prèpei na upˆrqei mia tom Q koresmènh wc proc to x pou na qwrðzei ta s kai t. H ro diamèsou thc Q eðnai Ðsh me F kai eðnai epðshc Ðsh me th qwrhtikìthta thc Q. To telikì sumpèrasma prokôptei afoô gnwrðzoume ìti h F eðnai mikrìterh Ðsh me thn elˆqisth qwrhtikìthta tom c. Apìdeixh tou 2 : To mèroc 1 tou jewr matoc paðrnei wc dedomènh thn Ôparxh bèltisthc lôshc. Wstìso mporeð na deiqjeð ìti an upˆrqei sto prìblhma autì dunat lôsh, upˆrqei kai bèltisth. H apìdeixh mporeð na gðnei eðte mèsw thc mejìdou simplex eðte me qr sh tou jewr matoc Weierstrass, pou dhl nei pwc mia suneq c sunˆrthsh èqei mègisto epð enìc mh kenoô kai sumpagoôc sunìlou. Sthn perðptws mac, ìpou dhlad ta kat tera ìria ro n eðnai mhdenikˆ, to prìblhma èqei ìntwc mia dunat lôsh, thn tetrimènh mhdenik.
O kôkloc tou algorðjmou sunðstatai sta ex c: Me qr sh thc mejìdou anaz thshc mh apofragmènhc diadrom c eurðsketai èna (kai mìnon èna) apì ta akìlouja dôo: 1. Μια κορεσμένη τομή μεταξύ s και t. 2. Μια μη αποφραγμένη από τη ροή x διαδρομή P που να αρχίζει από το s και να τελειώνει στο t. Sthn pr th perðptwsh o algìrijmoc termatðzei. Sth deôterh, ekteleðtai enðsqush thc ro c katˆ m koc thc P kai proqwroôme sto epìmeno b ma.